请求表单与文件 |
您所在的位置:网站首页 › fastapi 文档下载 › 请求表单与文件 |
请求表单与文件¶
FastAPI 支持同时使用 File 和 Form 定义文件和表单字段。 说明 接收上传文件或表单数据,要预先安装 python-multipart。 例如,pip install python-multipart。 导入 File 与 Form¶ from fastapi import FastAPI, File, Form, UploadFile app = FastAPI() @app.post("/files/") async def create_file( file: bytes = File(), fileb: UploadFile = File(), token: str = Form() ): return { "file_size": len(file), "token": token, "fileb_content_type": fileb.content_type, } 定义 File 与 Form 参数¶创建文件和表单参数的方式与 Body 和 Query 一样: from fastapi import FastAPI, File, Form, UploadFile app = FastAPI() @app.post("/files/") async def create_file( file: bytes = File(), fileb: UploadFile = File(), token: str = Form() ): return { "file_size": len(file), "token": token, "fileb_content_type": fileb.content_type, }文件和表单字段作为表单数据上传与接收。 声明文件可以使用 bytes 或 UploadFile 。 警告 可在一个路径操作中声明多个 File 与 Form 参数,但不能同时声明要接收 JSON 的 Body 字段。因为此时请求体的编码为 multipart/form-data,不是 application/json。 这不是 FastAPI 的问题,而是 HTTP 协议的规定。 小结¶在同一个请求中接收数据和文件时,应同时使用 File 和 Form。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |